
*****************************
** Tables S17-S20 & Figure S4
*****************************


* Open data
use "DataFinal.dta", replace



***************
** Main Results
***************

* Procedural fairness
* Model 1
reg fair i.ca i.ref if haspos == 1
estimates store m1
* Model 2
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1
estimates store m2
* Model 3
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1
estimates store m3

* Decision acceptance
* Model 4
reg decacc i.ca i.ref if haspos == 1
estimates store m4
* Model 5
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1
estimates store m5
* Model 6
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1
estimates store m6


	
*****************************
** Sub-group Results - Figure
*****************************

gen dv = 1 in 1/3
replace dv = 2 in 4/6
replace dv = 1 in 7/9
replace dv = 2 in 10/12
replace dv = 1 in 13/15
replace dv = 2 in 16/18
replace dv = 1 in 19/21
replace dv = 2 in 22/24
replace dv = 1 in 25/27
replace dv = 2 in 28/30
replace dv = 1 in 31/33
replace dv = 2 in 34/36
replace dv = 1 in 37/39
replace dv = 2 in 40/42
gen full = 1 in 1/6
replace full = 0 in 7/42
gen subgroup = . in 1/6
replace subgroup = 1 in 7/12
replace subgroup = 2 in 13/18
replace subgroup = 3 in 19/24
replace subgroup = 4 in 25/30
replace subgroup = 5 in 31/36
replace subgroup = 6 in 37/42
gen d = _n in 1/3
replace d = _n - 3 in 4/6
replace d = _n - 6 in 7/9
replace d = _n - 9 in 10/12
replace d = _n - 12 in 13/15
replace d = _n - 15 in 16/18
replace d = _n - 18 in 19/21
replace d = _n - 21 in 22/24
replace d = _n - 24 in 25/27
replace d = _n - 27 in 28/30
replace d = _n - 30 in 31/33
replace d = _n - 33 in 34/36
replace d = _n - 36 in 37/39
replace d = _n - 39 in 40/42
gen pe = .
gen se = .

* Full sample
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1, coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & full == 1 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & full == 1 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & full == 1 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & full == 1 & d == 2
replace pe = _b[1.ref] if dv == 1 & full == 1 & d == 3
replace se = _se[1.ref] if dv == 1 & full == 1 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1, coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & full == 1 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & full == 1 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & full == 1 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & full == 1 & d == 2
replace pe = _b[1.ref] if dv == 2 & full == 1 & d == 3
replace se = _se[1.ref] if dv == 2 & full == 1 & d == 3

* Low trust
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,0,5), coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & subgroup == 1 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & subgroup == 1 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & subgroup == 1 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & subgroup == 1 & d == 2
replace pe = _b[1.ref] if dv == 1 & subgroup == 1 & d == 3
replace se = _se[1.ref] if dv == 1 & subgroup == 1 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,0,5), coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & subgroup == 1 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & subgroup == 1 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & subgroup == 1 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & subgroup == 1 & d == 2
replace pe = _b[1.ref] if dv == 2 & subgroup == 1 & d == 3
replace se = _se[1.ref] if dv == 2 & subgroup == 1 & d == 3

* High trust
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,6,10), coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & subgroup == 2 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & subgroup == 2 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & subgroup == 2 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & subgroup == 2 & d == 2
replace pe = _b[1.ref] if dv == 1 & subgroup == 2 & d == 3
replace se = _se[1.ref] if dv == 1 & subgroup == 2 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,6,10), coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & subgroup == 2 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & subgroup == 2 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & subgroup == 2 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & subgroup == 2 & d == 2
replace pe = _b[1.ref] if dv == 2 & subgroup == 2 & d == 3
replace se = _se[1.ref] if dv == 2 & subgroup == 2 & d == 3

* Low importance
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,0,5), coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & subgroup == 3 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & subgroup == 3 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & subgroup == 3 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & subgroup == 3 & d == 2
replace pe = _b[1.ref] if dv == 1 & subgroup == 3 & d == 3
replace se = _se[1.ref] if dv == 1 & subgroup == 3 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,0,5), coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & subgroup == 3 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & subgroup == 3 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & subgroup == 3 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & subgroup == 3 & d == 2
replace pe = _b[1.ref] if dv == 2 & subgroup == 3 & d == 3
replace se = _se[1.ref] if dv == 2 & subgroup == 3 & d == 3

* High importance
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,6,10), coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & subgroup == 4 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & subgroup == 4 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & subgroup == 4 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & subgroup == 4 & d == 2
replace pe = _b[1.ref] if dv == 1 & subgroup == 4 & d == 3
replace se = _se[1.ref] if dv == 1 & subgroup == 4 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,6,10), coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & subgroup == 4 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & subgroup == 4 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & subgroup == 4 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & subgroup == 4 & d == 2
replace pe = _b[1.ref] if dv == 2 & subgroup == 4 & d == 3
replace se = _se[1.ref] if dv == 2 & subgroup == 4 & d == 3

* Weak preference
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 0, coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & subgroup == 5 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & subgroup == 5 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & subgroup == 5 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & subgroup == 5 & d == 2
replace pe = _b[1.ref] if dv == 1 & subgroup == 5 & d == 3
replace se = _se[1.ref] if dv == 1 & subgroup == 5 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 0, coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & subgroup == 5 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & subgroup == 5 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & subgroup == 5 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & subgroup == 5 & d == 2
replace pe = _b[1.ref] if dv == 2 & subgroup == 5 & d == 3
replace se = _se[1.ref] if dv == 2 & subgroup == 5 & d == 3

* Strong preference
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 1, coeflegend
replace pe = _b[1.caFollowed] if dv == 1 & subgroup == 6 & d == 1
replace se = _se[1.caFollowed] if dv == 1 & subgroup == 6 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 1 & subgroup == 6 & d == 2
replace se = _se[1.caNotFollowed] if dv == 1 & subgroup == 6 & d == 2
replace pe = _b[1.ref] if dv == 1 & subgroup == 6 & d == 3
replace se = _se[1.ref] if dv == 1 & subgroup == 6 & d == 3
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 1, coeflegend
replace pe = _b[1.caFollowed] if dv == 2 & subgroup == 6 & d == 1
replace se = _se[1.caFollowed] if dv == 2 & subgroup == 6 & d == 1
replace pe = _b[1.caNotFollowed] if dv == 2 & subgroup == 6 & d == 2
replace se = _se[1.caNotFollowed] if dv == 2 & subgroup == 6 & d == 2
replace pe = _b[1.ref] if dv == 2 & subgroup == 6 & d == 3
replace se = _se[1.ref] if dv == 2 & subgroup == 6 & d == 3

* Graph
gen d2 = d - 0.30 if full == 1
replace d2 = d - 0.20 if subgroup == 1
replace d2 = d - 0.10 if subgroup == 2
replace d2 = d if subgroup == 3
replace d2 = d + 0.10 if subgroup == 4
replace d2 = d + 0.20 if subgroup == 5
replace d2 = d + 0.30 if subgroup == 6

gen lower = pe - 1.96 * se
gen upper = pe + 1.96 * se
label define dv 1 "Procedural fairness" 2 "Decision acceptance", replace
label values dv dv
twoway ///
		(scatter d2 pe if full == 1, mcolor(black) msymbol(circle)) ///
		(rspike lower upper d2 if full == 1, lcolor(black) horizontal) ///
		(scatter d2 pe if subgroup == 1, mcolor(red) msymbol(circle)) ///
		(rspike lower upper d2 if subgroup == 1, lcolor(red) horizontal) ///
		(scatter d2 pe if subgroup == 2, mcolor(red) msymbol(triangle)) ///
		(rspike lower upper d2 if subgroup == 2, lcolor(red) horizontal) ///
		(scatter d2 pe if subgroup == 3, mcolor(dkgreen) msymbol(circle)) ///
		(rspike lower upper d2 if subgroup == 3, lcolor(dkgreen) horizontal) ///
		(scatter d2 pe if subgroup == 4, mcolor(dkgreen) msymbol(triangle)) ///
		(rspike lower upper d2 if subgroup == 4, lcolor(dkgreen) horizontal) ///
		(scatter d2 pe if subgroup == 5, mcolor(blue) msymbol(circle)) ///
		(rspike lower upper d2 if subgroup == 5, lcolor(blue) horizontal) ///
		(scatter d2 pe if subgroup == 6, mcolor(blue) msymbol(triangle)) ///
		(rspike lower upper d2 if subgroup == 6, lcolor(blue) horizontal) ///
		, ///
		ytitle("") yscale(reverse range(0.5 3.5)) yscale(noline) ///
		ylabel(1 "DMP honored" 2 "DMP not honored" 3 "Referendum", angle(horizontal) noticks nogrid) ///
		xtitle("") xscale(noextend nofextend) xline(0, lpattern(dash)) xlabel(-2(1)2, noticks nogrid) ///
		by(dv, cols(3) noxrescale noiytick ixtitle iytitle) ///
		by(, note("{it:Note:} This figure shows the results when the split sample models reported in Figure 4 in the paper are re-estimated while including speeders and subjects who failed" "the language comprehension check. The spikes represent 95% confidence intervals. DMP = deliberative mini-public.", span margin(0 0 0 4))) ///
		by(, legend(on at(3) position(3))) ///
		by(, graphregion(fcolor(white) lcolor(white)) bgcolor(white)) ///
		legend(order(1 "Full sample" 3 "Low political trust" 5 "High political trust" 7 "Low policy importance" 9 "High policy importance" 11 "Weak policy preference" 13 "Strong policy preference") cols(1) region(fcolor(white) lcolor(white)))  ///
		subtitle(, color(black) fcolor(gs14) lcolor(gs14)) ///
		scheme(s2mono) xsize(8) ysize(4)

* Tidy up
drop dv - upper	





***********************************************
** Sub-Group Results - Tables [Political Trust] 
***********************************************

* Procedural fairness
* Model 1 - Low trust
reg fair i.ca i.ref if haspos == 1 & inrange(poltrust,0,5) 
estimates store m1
* Model 2 - Low trust
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,0,5) 
estimates store m2
* Model 3 - Low trust
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(poltrust,0,5) 
estimates store m3
* Model 7 - High trust
reg fair i.ca i.ref if haspos == 1 & inrange(poltrust,6,10) 
estimates store m7
* Model 8 - High trust
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,6,10) 
estimates store m8
* Model 9 - High trust
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(poltrust,6,10) 
estimates store m9

* Decision acceptance
* Model 4 - Low trust
reg decacc i.ca i.ref if haspos == 1 & inrange(poltrust,0,5) 
estimates store m4
* Model 5 - Low trust
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,0,5) 
estimates store m5
* Model 6 - Low trust
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(poltrust,0,5) 
estimates store m6
* Model 10 - High trust
reg decacc i.ca i.ref if haspos == 1 & inrange(poltrust,6,10) 
estimates store m10
* Model 11 - High trust
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(poltrust,6,10) 
estimates store m11
* Model 12 - High trust
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(poltrust,6,10) 
estimates store m12


	

******************************************
** Sub-Group Results - Tables [Importance] 
******************************************

* Procedural fairness
* Model 1 - Low importance
reg fair i.ca i.ref if haspos == 1 & inrange(importance,0,5)
estimates store m1
* Model 2 - Low importance
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,0,5)
estimates store m2
* Model 3 - Low importance
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(importance,0,5)
estimates store m3
* Model 7 - High importance
reg fair i.ca i.ref if haspos == 1 & inrange(importance,6,10)
estimates store m7
* Model 8 - High importance
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,6,10) 
estimates store m8
* Model 9 - High importance
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(importance,6,10)
estimates store m9

* Decision acceptance
* Model 4 - Low importance
reg decacc i.ca i.ref if haspos == 1 & inrange(importance,0,5)
estimates store m4
* Model 5 - Low importance
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,0,5)
estimates store m5
* Model 6 - Low importance
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(importance,0,5)
estimates store m6
* Model 10 - High trust
reg decacc i.ca i.ref if haspos == 1 & inrange(importance,6,10)
estimates store m10
* Model 11 - High importance
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & inrange(importance,6,10)
estimates store m11
* Model 12 - High importance
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & inrange(importance,6,10)
estimates store m12




***************************************************
** Sub-Group Results - Tables [Preference Strength] 
***************************************************

* Procedural fairness
* Model 1 - Weak preference
reg fair i.ca i.ref if haspos == 1 & strongpos == 0
estimates store m1
* Model 2 - Weak preference
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 0
estimates store m2
* Model 3 - Weak preference
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & strongpos == 0
estimates store m3
* Model 7 - Strong preference
reg fair i.ca i.ref if haspos == 1 & strongpos == 1
estimates store m7
* Model 8 - Strong preference
reg fair i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 1
estimates store m8
* Model 9 - Strong preference
reg fair i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & strongpos == 1
estimates store m9

* Decision acceptance
* Model 4 - Weak preference
reg decacc i.ca i.ref if haspos == 1 & strongpos == 0
estimates store m4
* Model 5 - Weak preference
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 0
estimates store m5
* Model 6 - Weak preference
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & strongpos == 0
estimates store m6
* Model 10 - Strong preference
reg decacc i.ca i.ref if haspos == 1 & strongpos == 1
estimates store m10
* Model 11 - Strong preference
reg decacc i.caFollowed i.caNotFollowed i.ref if haspos == 1 & strongpos == 1
estimates store m11
* Model 12 - Strong preference
reg decacc i.caFollowed##i.ref caNotFollowed##i.ref if haspos == 1 & strongpos == 1
estimates store m12
